CloopFor26coLinux
It's been asked a lot for cloop to be shipped with Cooperative Linux. This will probably happen in some future release. For those who can't wait, I'm detailing what I did to get KNOPPIX v3.8 (just d/led today) to mount in coLinux 2.6.11 (stable & devel). Hope these steps are reproducable enough for other folks. I did an google search (don't think it was even a google linux search for the terms 2.6 cloop) One of the top links was the following link: http://ngc891.blogdns.net/index.php?2004/10/19/19-linux-269 I followed this link which has a section on cloop module for an 2.6.9 kernel. Instead of using the source linked to on this page, I went to the directory that source/patch was stored in: http://ngc891.blogdns.net/kernel/patches/ There I found an even newer version of the cloop code/patch for 2.6.9: http://ngc891.blogdns.net/kernel/patches/cloop-2.01jp5-snapshot.tar.bz2 This is the one that I used. ---- I did most of the following as root, as /usr/src wasn't accessible but to root on my development environement/distro. Ok, having downloaded that I took my freshly built (and installed) colinux-kernel tree and copied to /usr/src/linux you especially have to have /lib/modules/ insalled. ---- You NEED a 'compiled' kernel in the /usr/src/linux tree... (i.e. you need a valid .config, an vmlinux and probably lost of object files for various pieces of the kernel) I then uncompressed the above cloop-2.01jp5 in /usr/src/cloop-2.01jp5 It didn't compile, giving an error about too many arguments to do_generic_file_read I've prepared a patch of the change I made to fix this problem: --- ./cloop.c.orig 2005-02-21 00:24:17.000000000 -0600 +++ ./cloop.c.new 2005-05-30 23:01:35.000000000 -0500 @@ -178,7 +178,7 @@ desc.count = size; desc.arg.buf = (char *)&cd; desc.error = 0; - do_generic_file_read(f, &pos, &desc, clo_read_actor, 0); + do_generic_file_read(f, &pos, &desc, clo_read_actor); if (desc.error || desc.written <= 0) { int left = size - desc.written; if (left < 0) After applying the above patch (and doing various other fix-ups from the failed compile that aren't need if you apply the above patch before compiling) I was able to successfully compile the cloop module and cloop-utils with the following: make note from plugwash: if you don't wan't to mess with putting the kernel source in some standard location you can use make KDIR=/root/linux-2.6.11 where /root/linux-2.6.11 is replaced by where every our colinux patched kernel source is. Now you can at this point: make install *** make install needs to be root for sure, and it installs the cloop module to the /lib/modules/ tree, and installs the cloop-utilites too. *** if you don't do make install you need to manually run MAKEDEV.cloop or create the cloop devices by hand To test it (and verify it worked) I did the following: insmod cloop.ko mount -t iso9660 /path/to/KNOPPIX_v3.8-EN.iso-file /mnt/point -o loop losetup /dev/cloop1 /mnt/point/KNOPPIX/KNOPPIX mount /dev/cloop1 /mnt/another-point chroot /mnt/another-point And I was chrooted into an KNOPPIX v3.8 environment, I poked around and everything seemed right, so I exited and umounted everything umount /mnt/another-point losetup -d /dev/cloop1 umount /mnt/point Hope this helps others to have success too... Feel free to clean-up this page and improve on it as you see fit. To actually boot recent Knoppix verisons you'll need to to build unionfs which can be obtained from unionfs-1.0.12a.tar.gz and built against colinux with no changes. booting of knoppix has been achived and an initial tech demo release can be obtained from http://firechief.dyndns.org/conoppix/ ----MassTranslated on Sun Apr 23 17:35:41 UTC 2006